Gram Schmidt Orthogonalization